[INFO] cloning repository https://github.com/vidur2/vmod-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vidur2/vmod-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvidur2%2Fvmod-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvidur2%2Fvmod-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2fe96a11cf792e5c79462f3543550ea8465ccbff
[INFO] checking vidur2/vmod-lang against master#82310651b93a594a3fd69015e1562186a080d94c for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvidur2%2Fvmod-lang" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/vidur2/vmod-lang
[INFO] finished tweaking git repo https://github.com/vidur2/vmod-lang
[INFO] tweaked toml for git repo https://github.com/vidur2/vmod-lang written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/vidur2/vmod-lang on toolchain 82310651b93a594a3fd69015e1562186a080d94c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/vidur2/vmod-lang already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 361b197deb955272bf214a8c5d9e70f957fe295e9b0340a5ce41c697aa7fa936
[INFO] running `Command { std: "docker" "start" "-a" "361b197deb955272bf214a8c5d9e70f957fe295e9b0340a5ce41c697aa7fa936", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "361b197deb955272bf214a8c5d9e70f957fe295e9b0340a5ce41c697aa7fa936", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "361b197deb955272bf214a8c5d9e70f957fe295e9b0340a5ce41c697aa7fa936", kill_on_drop: false }`
[INFO] [stdout] 361b197deb955272bf214a8c5d9e70f957fe295e9b0340a5ce41c697aa7fa936
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b1f48d4538c54799d6c8d80da6ac129f235aef61f1d5a76a6649891ac15c9001
[INFO] running `Command { std: "docker" "start" "-a" "b1f48d4538c54799d6c8d80da6ac129f235aef61f1d5a76a6649891ac15c9001", kill_on_drop: false }`
[INFO] [stderr]     Checking vmod v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:75:28
[INFO] [stdout]    |
[INFO] [stdout] 75 |                         if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:75:65
[INFO] [stdout]    |
[INFO] [stdout] 75 |                         if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:82:28
[INFO] [stdout]    |
[INFO] [stdout] 82 |                         if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:82:65
[INFO] [stdout]    |
[INFO] [stdout] 82 |                         if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:89:58
[INFO] [stdout]    |
[INFO] [stdout] 89 |                         if Primitive::Int(0) != right && let Primitive::Int(divisor) = left && let Primitive::Int(dividend) = right {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:89:96
[INFO] [stdout]    |
[INFO] [stdout] 89 |                         if Primitive::Int(0) != right && let Primitive::Int(divisor) = left && let Primitive::Int(dividend) = right {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:91:67
[INFO] [stdout]    |
[INFO] [stdout] 91 | ...   } else if Primitive::Float(0.) != left && let Primitive::Float(divisor) = left && let Primitive::Float(dividend) = right {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:91:107
[INFO] [stdout]    |
[INFO] [stdout] 91 | ...   } else if Primitive::Float(0.) != left && let Primitive::Float(divisor) = left && let Primitive::Float(dividend) = right {
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:109:35
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:109:72
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 |                         if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:122:63
[INFO] [stdout]     |
[INFO] [stdout] 122 |                         if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:124:35
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:124:72
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:131:28
[INFO] [stdout]     |
[INFO] [stdout] 131 |                         if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:131:63
[INFO] [stdout]     |
[INFO] [stdout] 131 |                         if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:133:72
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:207:32
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 if bool_val && let Some(expr) = ternary.true_cond {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:209:40
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 } else if !bool_val && let Some(expr) = ternary.false_cond {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:223:28
[INFO] [stdout]     |
[INFO] [stdout] 223 |                         if let Primitive::Int(int) = idx && (int as usize) < vec.len() {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:368:40
[INFO] [stdout]     |
[INFO] [stdout] 368 | ...   if let Primitive::Env(env) = self.evaluate(&params[0])? && let Primitive::String(string) = env.retrieve("list")? && let Primitive::...
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:368:96
[INFO] [stdout]     |
[INFO] [stdout] 368 | ...   if let Primitive::Env(env) = self.evaluate(&params[0])? && let Primitive::String(string) = env.retrieve("list")? && let Primitive::...
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:368:153
[INFO] [stdout]     |
[INFO] [stdout] 368 | ...ring(string) = env.retrieve("list")? && let Primitive::List(list_uw) = env.retrieve(&string)? {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:382:48
[INFO] [stdout]     |
[INFO] [stdout] 382 | ...                   if let Primitive::Int(idx1) = self.evaluate(&params[0])? && let Primitive::Int(idx2) = self.evaluate(&params[1])? {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:382:105
[INFO] [stdout]     |
[INFO] [stdout] 382 | ...                   if let Primitive::Int(idx1) = self.evaluate(&params[0])? && let Primitive::Int(idx2) = self.evaluate(&params[1])? {
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/parser/parser.rs:153:28
[INFO] [stdout]     |
[INFO] [stdout] 153 |                         if let ExprPossibilities::Stmt(stmt) = var && let Some(ref _expr) = stmt.inner {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/parser/parser.rs:153:71
[INFO] [stdout]     |
[INFO] [stdout] 153 |                         if let ExprPossibilities::Stmt(stmt) = var && let Some(ref _expr) = stmt.inner {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/parser/parser.rs:604:24
[INFO] [stdout]     |
[INFO] [stdout] 604 |                     if let Err(err) = res && TokenType::RIGHT_PAREN != self.peek().tok {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/scanner/token.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 250 |         if let Some(val) = &self.literal && let Some(val_uw) = val.get_value_as_str(){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/scanner/token.rs:250:45
[INFO] [stdout]     |
[INFO] [stdout] 250 |         if let Some(val) = &self.literal && let Some(val_uw) = val.get_value_as_str(){
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:75:28
[INFO] [stdout]    |
[INFO] [stdout] 75 |                         if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:75:65
[INFO] [stdout]    |
[INFO] [stdout] 75 |                         if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:82:28
[INFO] [stdout]    |
[INFO] [stdout] 82 |                         if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:82:65
[INFO] [stdout]    |
[INFO] [stdout] 82 |                         if let Primitive::Bool(bool1) = left && let Primitive::Bool(bool2) = right {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:89:58
[INFO] [stdout]    |
[INFO] [stdout] 89 |                         if Primitive::Int(0) != right && let Primitive::Int(divisor) = left && let Primitive::Int(dividend) = right {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:89:96
[INFO] [stdout]    |
[INFO] [stdout] 89 |                         if Primitive::Int(0) != right && let Primitive::Int(divisor) = left && let Primitive::Int(dividend) = right {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:91:67
[INFO] [stdout]    |
[INFO] [stdout] 91 | ...   } else if Primitive::Float(0.) != left && let Primitive::Float(divisor) = left && let Primitive::Float(dividend) = right {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> src/interpreter/interpreter.rs:91:107
[INFO] [stdout]    |
[INFO] [stdout] 91 | ...   } else if Primitive::Float(0.) != left && let Primitive::Float(divisor) = left && let Primitive::Float(dividend) = right {
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:109:35
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:109:72
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 |                         if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parsing_err::ParsingException`
[INFO] [stdout]  --> src/ast/ast_traits.rs:2:52
[INFO] [stdout]   |
[INFO] [stdout] 2 |     error_reporting::{interp_err::InterpException, parsing_err::ParsingException},
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque` and `fs::ReadDir`
[INFO] [stdout]  --> src/import_sys/import_sys.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashSet, VecDeque},
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout] 3 |     fs::ReadDir,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Func`, `Literal`, `Scope`, `Stmt`, and `environment::Environment`
[INFO] [stdout]   --> src/import_sys/import_sys.rs:7:42
[INFO] [stdout]    |
[INFO] [stdout] 7  |     ast::expr_types::{ExprPossibilities, Literal, Scope, Stmt},
[INFO] [stdout]    |                                          ^^^^^^^  ^^^^^  ^^^^
[INFO] [stdout] 8  |     interpreter::{environment::Environment, interpreter::Interpreter},
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         token::{Func, Token, TokenType},
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parsing_err::ParsingException`
[INFO] [stdout]  --> src/interpreter/environment.rs:4:52
[INFO] [stdout]   |
[INFO] [stdout] 4 |     error_reporting::{interp_err::InterpException, parsing_err::ParsingException},
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:122:63
[INFO] [stdout]     |
[INFO] [stdout] 122 |                         if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:124:35
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:124:72
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:131:28
[INFO] [stdout]     |
[INFO] [stdout] 131 |                         if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:131:63
[INFO] [stdout]     |
[INFO] [stdout] 131 |                         if let Primitive::Int(num1) = left && let Primitive::Int(num2) = right {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:133:72
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:207:32
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 if bool_val && let Some(expr) = ternary.true_cond {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:209:40
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 } else if !bool_val && let Some(expr) = ternary.false_cond {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:223:28
[INFO] [stdout]     |
[INFO] [stdout] 223 |                         if let Primitive::Int(int) = idx && (int as usize) < vec.len() {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:368:40
[INFO] [stdout]     |
[INFO] [stdout] 368 | ...   if let Primitive::Env(env) = self.evaluate(&params[0])? && let Primitive::String(string) = env.retrieve("list")? && let Primitive::...
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:368:96
[INFO] [stdout]     |
[INFO] [stdout] 368 | ...   if let Primitive::Env(env) = self.evaluate(&params[0])? && let Primitive::String(string) = env.retrieve("list")? && let Primitive::...
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:368:153
[INFO] [stdout]     |
[INFO] [stdout] 368 | ...ring(string) = env.retrieve("list")? && let Primitive::List(list_uw) = env.retrieve(&string)? {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:382:48
[INFO] [stdout]     |
[INFO] [stdout] 382 | ...                   if let Primitive::Int(idx1) = self.evaluate(&params[0])? && let Primitive::Int(idx2) = self.evaluate(&params[1])? {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/interpreter/interpreter.rs:382:105
[INFO] [stdout]     |
[INFO] [stdout] 382 | ...                   if let Primitive::Int(idx1) = self.evaluate(&params[0])? && let Primitive::Int(idx2) = self.evaluate(&params[1])? {
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ops::Deref` and `rc::Rc`
[INFO] [stdout]  --> src/interpreter/interpreter.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, ops::Deref, rc::Rc};
[INFO] [stdout]   |                                 ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parsing_err::ParsingException`
[INFO] [stdout]  --> src/interpreter/interpreter.rs:9:66
[INFO] [stdout]   |
[INFO] [stdout] 9 |         error_reporter::Unwindable, interp_err::InterpException, parsing_err::ParsingException,
[INFO] [stdout]   |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error_reporting::interp_err::InterpException`
[INFO] [stdout]  --> src/lib_functions/list_ops.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{error_reporting::interp_err::InterpException, scanner::token::Primitive};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::expr_types::ExprPossibilities`
[INFO] [stdout]  --> src/lib_functions/math.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ast::expr_types::ExprPossibilities, error_reporting::interp_err::InterpException,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::ast_traits::Interperable`
[INFO] [stdout]  --> src/scanner/scanner.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ast::ast_traits::Interperable,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet`, `convert::TryInto`, and `ops::Add`
[INFO] [stdout]  --> src/scanner/token.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet},
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout] 3 |     convert::TryInto,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     fmt::Display,
[INFO] [stdout] 5 |     ops::Add,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stmt`
[INFO] [stdout]  --> src/scanner/token.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ast::expr_types::{Scope, Stmt},
[INFO] [stdout]   |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_PAREN` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     LEFT_PAREN,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftParen`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     RIGHT_PAREN,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     LEFT_BRACE,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     RIGHT_BRACE,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SQUARE` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     LEFT_SQUARE,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSquare`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SQUARE` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     RIGHT_SQUARE,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSquare`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     BANG_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     EQUAL_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     GREATER_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     LESS_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/parser/parser.rs:153:28
[INFO] [stdout]     |
[INFO] [stdout] 153 |                         if let ExprPossibilities::Stmt(stmt) = var && let Some(ref _expr) = stmt.inner {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/parser/parser.rs:153:71
[INFO] [stdout]     |
[INFO] [stdout] 153 |                         if let ExprPossibilities::Stmt(stmt) = var && let Some(ref _expr) = stmt.inner {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/parser/parser.rs:604:24
[INFO] [stdout]     |
[INFO] [stdout] 604 |                     if let Err(err) = res && TokenType::RIGHT_PAREN != self.peek().tok {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/scanner/token.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 250 |         if let Some(val) = &self.literal && let Some(val_uw) = val.get_value_as_str(){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/scanner/token.rs:250:45
[INFO] [stdout]     |
[INFO] [stdout] 250 |         if let Some(val) = &self.literal && let Some(val_uw) = val.get_value_as_str(){
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(let_chains)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_mut_refs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parsing_err::ParsingException`
[INFO] [stdout]  --> src/ast/ast_traits.rs:2:52
[INFO] [stdout]   |
[INFO] [stdout] 2 |     error_reporting::{interp_err::InterpException, parsing_err::ParsingException},
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque` and `fs::ReadDir`
[INFO] [stdout]  --> src/import_sys/import_sys.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashSet, VecDeque},
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout] 3 |     fs::ReadDir,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Func`, `Literal`, `Scope`, `Stmt`, and `environment::Environment`
[INFO] [stdout]   --> src/import_sys/import_sys.rs:7:42
[INFO] [stdout]    |
[INFO] [stdout] 7  |     ast::expr_types::{ExprPossibilities, Literal, Scope, Stmt},
[INFO] [stdout]    |                                          ^^^^^^^  ^^^^^  ^^^^
[INFO] [stdout] 8  |     interpreter::{environment::Environment, interpreter::Interpreter},
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         token::{Func, Token, TokenType},
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parsing_err::ParsingException`
[INFO] [stdout]  --> src/interpreter/environment.rs:4:52
[INFO] [stdout]   |
[INFO] [stdout] 4 |     error_reporting::{interp_err::InterpException, parsing_err::ParsingException},
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ops::Deref` and `rc::Rc`
[INFO] [stdout]  --> src/interpreter/interpreter.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, ops::Deref, rc::Rc};
[INFO] [stdout]   |                                 ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parsing_err::ParsingException`
[INFO] [stdout]  --> src/interpreter/interpreter.rs:9:66
[INFO] [stdout]   |
[INFO] [stdout] 9 |         error_reporter::Unwindable, interp_err::InterpException, parsing_err::ParsingException,
[INFO] [stdout]   |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error_reporting::interp_err::InterpException`
[INFO] [stdout]  --> src/lib_functions/list_ops.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{error_reporting::interp_err::InterpException, scanner::token::Primitive};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::expr_types::ExprPossibilities`
[INFO] [stdout]  --> src/lib_functions/math.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ast::expr_types::ExprPossibilities, error_reporting::interp_err::InterpException,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::ast_traits::Interperable`
[INFO] [stdout]  --> src/scanner/scanner.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ast::ast_traits::Interperable,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet`, `convert::TryInto`, and `ops::Add`
[INFO] [stdout]  --> src/scanner/token.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet},
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout] 3 |     convert::TryInto,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     fmt::Display,
[INFO] [stdout] 5 |     ops::Add,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stmt`
[INFO] [stdout]  --> src/scanner/token.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ast::expr_types::{Scope, Stmt},
[INFO] [stdout]   |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_PAREN` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     LEFT_PAREN,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftParen`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_PAREN` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     RIGHT_PAREN,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightParen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACE` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     LEFT_BRACE,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACE` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     RIGHT_BRACE,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBrace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SQUARE` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     LEFT_SQUARE,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSquare`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SQUARE` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     RIGHT_SQUARE,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSquare`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BANG_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     BANG_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `BangEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EQUAL_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     EQUAL_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EqualEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GREATER_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     GREATER_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GreaterEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LESS_EQUAL` should have an upper camel case name
[INFO] [stdout]   --> src/scanner/token.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     LESS_EQUAL,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LessEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(let_chains)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_mut_refs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prim`
[INFO] [stdout]   --> src/interpreter/interpreter.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 37 |         if let Ok(prim) = eval {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_prim`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num2`
[INFO] [stdout]    --> src/interpreter/interpreter.rs:109:93
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                                                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_num2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ident`
[INFO] [stdout]    --> src/parser/parser.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let ident = self.previous();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]    --> src/parser/parser.rs:430:17
[INFO] [stdout]     |
[INFO] [stdout] 430 |             let operator = self.advance();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/parser/parser.rs:432:21
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 let expr = self.expression()?;
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `vmod` (lib test) due to 31 previous errors; 28 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `prim`
[INFO] [stdout]   --> src/interpreter/interpreter.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 37 |         if let Ok(prim) = eval {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_prim`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num2`
[INFO] [stdout]    --> src/interpreter/interpreter.rs:109:93
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         } else if let Primitive::Float(num1) = left && let Primitive::Float(num2) = right {
[INFO] [stdout]     |                                                                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_num2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ident`
[INFO] [stdout]    --> src/parser/parser.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let ident = self.previous();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]    --> src/parser/parser.rs:430:17
[INFO] [stdout]     |
[INFO] [stdout] 430 |             let operator = self.advance();
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/parser/parser.rs:432:21
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 let expr = self.expression()?;
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `vmod` (lib) due to 31 previous errors; 28 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b1f48d4538c54799d6c8d80da6ac129f235aef61f1d5a76a6649891ac15c9001", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1f48d4538c54799d6c8d80da6ac129f235aef61f1d5a76a6649891ac15c9001", kill_on_drop: false }`
[INFO] [stdout] b1f48d4538c54799d6c8d80da6ac129f235aef61f1d5a76a6649891ac15c9001
